Enterprise performance management (“EPM”) software is a type of software used by many companies to measure and optimize business performance. EPM software analyzes data related to a number of metrics or key performance indicators (“KPIs”) used to monitor a company's progress toward short-term and long-term goals. For example, a company may track the number of new customers acquired during the previous year to monitor the performance of the company's marketing initiatives. As another example, a company may use EPM software to track revenue over several years to monitor growth. Because a company may use data from a number of heterogeneous sources, each of which may categorize and organize data differently, it can be difficult to ensure that data is accurately retrieved from disparate data sources when retrieving data from multiple sources.
Disparate data sources and data types can introduce significant problems to corporate employees tasked with consolidating information into cognizable reports, when attempting to ascertain the health of the company, for example. Moreover, the costs and resources required for determining and monitoring the “wellness” (or lack thereof) of the company can be significant. For example, metrics involved with the generation of KPIs provide a means for assembling a scorecard to assist a company in defining and measuring corporate wellness by assessing progress toward organizational as well as corporate goals.
In one complex business analysis example, a business user may need to report on the health of a company by compiling and analyzing information over four different corporate business groups (e.g., finances, customers, staffing, and employee satisfaction). This information can be stored in different types of data sources such as multidimensional lists, online analytical processing (OLAP) cubes, hypercubes, pivot tables, databases, tabular lists, spreadsheets, etc. Furthermore, each data source may store the information at different levels of granularity. For example, one data source may store financial information on a daily basis while another data source may store information on a weekly basis. Scorecards and dashboards provide a mechanism for tapping into this data in order to provide a high-level view of various interesting aspects of corporate health. Dashboards may contain several reports or scorecards. The data sources on which each report or scorecard is based may be different for each report or scorecard. Consumers of these dashboards want to view current data, regardless of the origin of the report's or scorecard's underlying data. Furthermore, consumers want to be able to aggregate data from different data sources regardless of their granularity. Consumers also want the ability to navigate time, for example, in reports using simple filter controls such as a calendar or select list. Designers of the dashboard want the ability to align dimensions between multiple cubes and perspectives and to define dimensionality for tabular data. Accordingly, as a means to reduce costs and resources for accessing and analyzing corporate well-being, businesses desire ways in which to provide business users a quick and easy mechanism for working with complex business processes.